<?php
/**
 * @author Martin Scotta <martinscotta@gmail.com>
 */


/**
 * Loader interno de Lite
 * 
 * Busca el archivo utilizando el nombre de la clase como ruta de acceso
 * dentro del directorio {@link LITE_DIRECTORY}
 * 
 */
final class Lite_Loader_LiteLoader extends Lite_Loader_AbstractLoader {
	
	/**
	 * Nombre del espacio propio de Lite
	 * @var string
	 */
	const LITE_NAMESPACE = 'Lite';
	
	/**
	 * Busca y carga el archivo contenedor para una clase
	 *
	 * @param string $class
	 * @return boolean
	 */
	function getFilePath($name) {
		
		if( substr($name, 0, 4) == self::LITE_NAMESPACE ) {
			
			# Agrega el namespace para clases simples
			# ejemplo: new LiteString ==> Lite/LiteString.php
			
			if( isset($name{4}) && $name{4} !== '_' && $name{4} !== '\\') {
				$name = self::LITE_NAMESPACE . '/' . $name;
			}
			return LITE_DIRECTORY . strtr($name, '_', '/') . '.php';			
		}
		
	}
}
